# 🎬 DIAGRAMA DEL FLUJO DE PROCESAMIENTO

```
┌─────────────────────────────────────────────────────────────────┐
│                  PROCESADOR DE VIDEOS TIKTOK                    │
│                     Flujo de Trabajo Completo                    │
└─────────────────────────────────────────────────────────────────┘


╔═══════════════════════════════════════════════════════════════════╗
║                          1. ENTRADA                                ║
╚═══════════════════════════════════════════════════════════════════╝

    Usuario proporciona:
    ┌─────────────────┐         ┌─────────────────┐
    │  URL de TikTok  │   OR    │  Video Subido   │
    └────────┬────────┘         └────────┬────────┘
             │                           │
             └───────────┬───────────────┘
                         │
                         ▼

╔═══════════════════════════════════════════════════════════════════╗
║                    2. DESCARGA DE VIDEO                            ║
║                   (video_downloader.py)                            ║
╚═══════════════════════════════════════════════════════════════════╝

    ┌─────────────────────────────────────┐
    │  • Usa yt-dlp para descargar        │
    │  • Obtiene video sin marca de agua  │
    │  • Guarda en carpeta temporal       │
    └────────────────┬────────────────────┘
                     │
                     ▼
              📹 video_original.mp4

                     │
                     ▼

╔═══════════════════════════════════════════════════════════════════╗
║                3. ELIMINACIÓN DE SUBTÍTULOS                        ║
║                  (subtitle_remover.py)                             ║
╚═══════════════════════════════════════════════════════════════════╝

    ┌─────────────────────────────────────┐
    │  • Detecta región de subtítulos     │
    │  • Usa OpenCV para análisis         │
    │  • Aplica inpainting o recorte      │
    │  • Preserva calidad del video       │
    └────────────────┬────────────────────┘
                     │
                     ▼
           📹 video_sin_subtitulos.mp4

                     │
                     ▼

╔═══════════════════════════════════════════════════════════════════╗
║                     4. TRANSCRIPCIÓN                               ║
║                    (transcriber.py)                                ║
╚═══════════════════════════════════════════════════════════════════╝

    ┌─────────────────────────────────────┐
    │  • Extrae audio con FFmpeg          │
    │  • Usa Whisper API de OpenAI        │
    │  • Transcribe en español            │
    │  • Genera texto completo            │
    └────────────────┬────────────────────┘
                     │
                     ▼
              📝 transcripcion.txt
        "Este es el contenido original
         del video de TikTok que vamos
         a procesar y transformar..."

                     │
                     ▼

╔═══════════════════════════════════════════════════════════════════╗
║                      5. REESCRITURA                                ║
║                   (text_rewriter.py)                               ║
╚═══════════════════════════════════════════════════════════════════╝

    ┌─────────────────────────────────────┐
    │  • Usa GPT-4 de OpenAI              │
    │  • Reescribe de forma natural       │
    │  • Mantiene el significado          │
    │  • Usa palabras diferentes          │
    └────────────────┬────────────────────┘
                     │
                     ▼
              📝 texto_reescrito.txt
        "Vamos a ver cómo transformar
         este contenido para crear algo
         único con tu propia voz..."

                     │
                     ▼

╔═══════════════════════════════════════════════════════════════════╗
║                  6. GENERACIÓN DE AUDIO                            ║
║                  (audio_generator.py)                              ║
╚═══════════════════════════════════════════════════════════════════╝

    ┌─────────────────────────────────────┐
    │  • Usa ElevenLabs API               │
    │  • Aplica tu voz clonada            │
    │  • Genera audio de alta calidad     │
    │  • Ajusta velocidad y tono          │
    └────────────────┬────────────────────┘
                     │
                     ▼
              🔊 audio_generado.mp3
             (Con tu voz clonada)

                     │
                     ▼

╔═══════════════════════════════════════════════════════════════════╗
║                    7. ENSAMBLAJE FINAL                             ║
║                  (video_assembler.py)                              ║
╚═══════════════════════════════════════════════════════════════════╝

    ┌─────────────────────────────────────┐
    │  • Crea archivo de subtítulos SRT   │
    │  • Ajusta duración audio/video      │
    │  • Combina con FFmpeg               │
    │  • Añade subtítulos estilizados     │
    └────────────────┬────────────────────┘
                     │
                     ▼
            ✨ VIDEO_FINAL.mp4 ✨
         ┌─────────────────────────┐
         │  • Video limpio         │
         │  • Tu voz clonada       │
         │  • Subtítulos nuevos    │
         │  • Listo para subir     │
         └─────────────────────────┘

                     │
                     ▼

╔═══════════════════════════════════════════════════════════════════╗
║                        8. DESCARGA                                 ║
╚═══════════════════════════════════════════════════════════════════╝

    Usuario descarga desde interfaz web
                     │
                     ▼
              🎉 ¡COMPLETADO! 🎉


═══════════════════════════════════════════════════════════════════

                      ARQUITECTURA TÉCNICA

Frontend (React)              Backend (Flask)              APIs
─────────────────────────────────────────────────────────────────

┌──────────────┐           ┌──────────────┐         ┌─────────────┐
│              │           │              │         │   OpenAI    │
│  Interface   │  HTTP     │   Server     │ ─────▶  │  • Whisper  │
│     Web      │  Request  │    Flask     │         │  • GPT-4    │
│              │ ────────▶ │              │         └─────────────┘
└──────────────┘           │              │
                           │  Orquesta:   │         ┌─────────────┐
                           │  • Download  │         │ ElevenLabs  │
                           │  • Remove    │ ─────▶  │  Voice Gen  │
                           │  • Transcribe│         └─────────────┘
                           │  • Rewrite   │
                           │  • Generate  │         ┌─────────────┐
                           │  • Assemble  │         │   FFmpeg    │
                           │              │ ─────▶  │  • Audio    │
                           └──────────────┘         │  • Video    │
                                                     └─────────────┘

═══════════════════════════════════════════════════════════════════

                       TIEMPO DE PROCESAMIENTO

┌─────────────────────┬──────────────┬──────────────────┐
│ Paso                │ Tiempo       │ Depende de       │
├─────────────────────┼──────────────┼──────────────────┤
│ 1. Descarga         │ 5-10 seg     │ Velocidad red    │
│ 2. Limpieza subs    │ 30-60 seg    │ Duración video   │
│ 3. Transcripción    │ 10-20 seg    │ Duración audio   │
│ 4. Reescritura      │ 5-10 seg     │ Longitud texto   │
│ 5. Generación voz   │ 10-30 seg    │ Longitud texto   │
│ 6. Ensamblaje       │ 20-40 seg    │ Duración video   │
├─────────────────────┼──────────────┼──────────────────┤
│ TOTAL               │ 2-3 min      │ Video de 1 min   │
└─────────────────────┴──────────────┴──────────────────┘

═══════════════════════════════════════════════════════════════════

                          COSTES POR VIDEO

┌─────────────────────┬──────────────┬──────────────────┐
│ Servicio            │ Coste        │ Por video 1 min  │
├─────────────────────┼──────────────┼──────────────────┤
│ Whisper API         │ $0.006/min   │ $0.006          │
│ GPT-4               │ $0.03/1K tok │ $0.03           │
│ ElevenLabs          │ Plan/mes     │ Variable        │
│ FFmpeg              │ Gratis       │ $0              │
├─────────────────────┼──────────────┼──────────────────┤
│ TOTAL               │              │ $0.10 - $0.20   │
└─────────────────────┴──────────────┴──────────────────┘

═══════════════════════════════════════════════════════════════════

                        MÓDULOS DEL SISTEMA

backend/
├── server.py              ← 🎯 Punto de entrada principal
├── video_downloader.py    ← 📥 Descarga de TikTok
├── subtitle_remover.py    ← 🧹 Limpieza con IA
├── transcriber.py         ← 🎤 Whisper de OpenAI
├── text_rewriter.py       ← ✍️  GPT-4 de OpenAI
├── audio_generator.py     ← 🔊 ElevenLabs TTS
└── video_assembler.py     ← 🎬 FFmpeg montaje

Cada módulo es independiente y reutilizable.

═══════════════════════════════════════════════════════════════════

                      CARACTERÍSTICAS CLAVE

✅ Modular      - Cada función es independiente
✅ Escalable    - Procesa múltiples videos
✅ Robusto      - Manejo de errores completo
✅ Eficiente    - Optimizado para velocidad
✅ Flexible     - Fácil de personalizar
✅ Documentado  - Código bien comentado

═══════════════════════════════════════════════════════════════════

                       PRÓXIMAS MEJORAS

🔮 Cola de procesamiento
🔮 Panel de administración
🔮 Múltiples idiomas
🔮 Templates de subtítulos
🔮 Integración YouTube/Instagram
🔮 Analytics de rendimiento

═══════════════════════════════════════════════════════════════════
